home *** CD-ROM | disk | FTP | other *** search
/ Suzy B Software 2 / Suzy B Software CD-ROM 2 (1994).iso / extras / programm / gemfsc20 / gemfsc20.lzh / GEMFUNCS / MNUBAR.C < prev    next >
C/C++ Source or Header  |  1993-02-01  |  789b  |  41 lines

  1. /**************************************************************************
  2.  * MNUBAR.C - The mnu_bar(), mnu_enable(), and mnu_disable() functions.
  3.  *************************************************************************/
  4.  
  5. #include "gemfintl.h"
  6. #undef menu_bar
  7.  
  8. static void *lastmenu;
  9. static short  hidecount;
  10.  
  11. short mnu_bar(menutree, flag, reserved)
  12.     OBJECT *menutree;
  13.     short  flag;
  14.     long   reserved;
  15. {
  16.     (void)reserved;
  17.     lastmenu  = (flag) ? menutree : NULL;
  18.     hidecount = 0;
  19.     return menu_bar(menutree, flag);
  20. }
  21.  
  22. void mnu_disable()
  23. {
  24.     if (lastmenu != NULL) {
  25.         if (++hidecount == 1) {
  26.             menu_bar(lastmenu, 0);
  27.         }
  28.     }
  29. }
  30.  
  31. void mnu_enable()
  32. {
  33.     if (lastmenu != NULL) {
  34.         if (--hidecount <= 0) {
  35.             hidecount = 0;
  36.             menu_bar(lastmenu, 1);
  37.         }
  38.     }
  39. }
  40.  
  41.